package com.ruoyi.system.service;

import java.util.List;
import java.util.Map;
import com.ruoyi.system.domain.DroneMission;

/**
 * 无人机任务Service接口
 */
public interface IDroneMissionService {
    /**
     * 连接无人机
     */
    boolean connectDrone();

    /**
     * 断开无人机连接
     */
    boolean disconnectDrone();

    /**
     * 开始巡田任务
     */
    String startMission(Map<String, Object> missionParams);

    /**
     * 停止巡田任务
     */
    Map<String, Object> stopMission();

    /**
     * 获取任务状态
     */
    Map<String, Object> getMissionStatus();

    /**
     * 获取无人机状态
     */
    Map<String, Object> getDroneStatus();

    /**
     * 获取任务报告
     */
    Map<String, Object> getMissionReport(String missionId);

    /**
     * 查询无人机任务
     */
    DroneMission selectDroneMissionById(String missionId);

    /**
     * 查询无人机任务列表
     */
    List<DroneMission> selectDroneMissionList(DroneMission droneMission);

    /**
     * 新增无人机任务
     */
    int insertDroneMission(DroneMission droneMission);

    /**
     * 修改无人机任务
     */
    int updateDroneMission(DroneMission droneMission);

    /**
     * 删除无人机任务
     */
    int deleteDroneMissionById(String missionId);

    /**
     * 批量删除无人机任务
     */
    int deleteDroneMissionByIds(String[] missionIds);

    Map<String, Object> getFlightSuitability(String location);

    Map<String, Object> getEnvironmentalReport(String missionId);
}
